package main

import "fmt"

type myInt int

/**
方法是函数的一种，是与某个数据类型绑定在一起的函数
 */

 //传值
func (i myInt) add (num myInt) myInt  {
	i = i + num
	return i
}

//传引用
func (i *myInt) addr (num myInt) myInt {
	*i = *i + num
	return *i
}

func main() {
	var i1 myInt = 10
	i2 := i1.add(33)
	fmt.Printf("i1 = %d, i2 = %d\n", i1, i2)

	i2 = i1.addr(33)
	fmt.Printf("i1 = %d, i2 = %d\n", i1, i2)
}
